home *** CD-ROM | disk | FTP | other *** search
- Hi, this is the README file for gpmemacs. You must be wondering what
- gpmemacs is good for. Well, so do I. In my sombre mode.
-
- Other times I think that gpmemacs is a way non-X Linux users (there
- are a few, and there will be at least 1 as long as I live :-)) can
- enjoy the carpal tunnel syndrome which demonstrably comes from
- controlling Emacs via the mouse.
-
- gpmemacs takes advantage of Gpm,which is a Linux mouse library/daemon
- written by Alessandro Rubini. Gpm hands mouse events via a socket to
- interested processes. gpmemacs is a patch to Emacs C source code which
- makes Emacs be interested, and translate the Gpm events into Emacs
- mouse events just like X mouse events are translated (actually, a
- closer analogy would be with Emacs under MSDOG, but that's obviously
- taboo in polite Linux society).
-
- There have been shots at doing the same thing with an Emacs Lisp
- package. Alessandro himself included one with Gpm, and I conributed to
- it a little; see t-mouse.el in the Gpm distribution. The trouble with
- t-mouse was twofold: first, since it had its own code for reading the
- events, separate from the Emacs event loop, it had to pass the events
- explicitly through its own keymaps; usual Emacs mouse bindings didn't
- automatically work. You had to recreate every single mouse binding to
- make it work with t-mouse. Second, Emacs doesn't really expect input
- events to be processed explicitly outside of its dispatching code.
- Doing so resulted in little glitches, like Emacs being confused in
- which window the event really occurred.
-
- I have also become aware of parallel work by Per Abrahamsen. His
- package provides support for mouseclick escape sequences handed down
- by xterms. Since the Linux kernel can apparently be told to emulate
- xterm mouse escape sequences, Per's code should work for Linux
- consoles. However, the xterm mouse events are much more limited than
- Gpm events: neither multiple clicks nor keyboard modifiers are
- reported.
-
- Per's package can be found at
-
- ftp://sunsite.auc.dk/packages/auctex/xt-mouse.el
-
- In contrast to these two , gpmemacs manipulates the events at the
- Emacs C code level. Thus Gpm mouse events are handled _exactly_ like
- X mouse events, at the same `time' as other events.
-
- I had originally hoped to have this patch integrated with official GNU
- Emacs. That didn't happen for a couple of reasons, the chief one
- being my lack of enthusiasm, since I concieved of this project as
- Linux specific. The consequence is that I didn't take great care to
- make this easy to install. You'll need a recent GNU autoconf, because
- the changes I made to the Emacs configure process have to propagate
- through two levels of *.in.in files. To summarise:
-
- 1/ Start with the official GNU Emacs 19.29 source tree.
-
- 2/ gzip -d gpmemacs-19.29.diff.gz | patch
-
- 3/ autoconf
-
- 4/ configure
-
- 5/ make
-
- 6/ make install
-
- 7/ emacs
-
- 8/ click, drag and enjoy!
-
- Don't hesitate to contact me with problems and questions regarding
- gpmemacs.
-
- Ian T Zimmerman +-------------------------------------------+
- Box 13445 I With so many executioners available, I
- Berkeley CA 94712 USA I suicide is a really foolish thing to do. I
- mailto:itz@rahul.net +-------------------------------------------+
-